Cellular wireless is an increasingly popular means of personal communication in the modern world. To provide cellular wireless communication services, as shown in FIG. 1, a wireless carrier typically operates a number of radio access networks (RANs) 12, each of which is controlled by a switching entity such as a mobile switching center (MSC) 14. The MSC generally includes or connects with one or more base station controllers (BSCs) 16, which in turn connect with one or more base transceiver stations (BTSs) 18. Each BTS conventionally includes a cell tower with one or more antennas that radiate to define an air interface 20 in which mobile stations can operate. With this arrangement, a mobile station 22 that operates in any air interface of the carrier's network can communicate through a RAN with entities on a transport network such as the public switched telephone network (PSTN) or the Internet.
An important feature of contemporary cellular wireless networks is an ability to locate the geographical position of a mobile station. Such a feature was initially developed to assist emergency services in locating a mobile station. However, the availability of location information to support E911 services has given rise to the development of many other location-based service (LBS) applications as well.
For instance, given the location of a mobile station, an LBS provider (e.g., a wireless cellular carrier or third party) can provide the mobile station user with a weather or traffic report in the user's vicinity. As another example, an LBS provider can report a list of services or establishments (e.g., restaurants, parks, or theatres) in the user's vicinity. As still another example, an LBS provider can provide a mobile station user with a map of the user's location or with directions for travel between the user's location and another location. As yet another example, knowing that a mobile station is operating in a particular location, an LBS provider can send the mobile station a location-based message, such as an advertisement or coupon for a nearby establishment. Other LBS applications exist currently, and more will inevitably be developed in the future.
In practice, when an LBS application wants to determine the location of a mobile station, the application may send a location request message to the wireless carrier that serves the mobile station. In response, the carrier may then send a signaling message through its network to determine where the mobile station is currently located, and the carrier may then generate a response to the location request and send that response to the LBS application.
More particularly, in a common arrangement, a wireless carrier will operate a mobile positioning center (MPC) 24 that is arranged to determine and report mobile station locations to requesting entities. The MPC may include or have access to a position-determining entity (PDE) 26, which may operate to determine the location of a given mobile station based on (i) the centroid of the cell/sector in which the mobile station is currently operating and (ii) satellite-based positioning information provided by the mobile station. Further, the carrier may operate a location server 30 that acts as a front-end for receiving location requests from LBS applications and forwarding those requests to the MPC.
When the location server receives a location request from an LBS application, the location server may send a corresponding location request to the MPC (e.g., via a link 32, which could be a direct packet link or a packet-switched network), and the MPC/PDE may, in turn, determine the location of the mobile station. The MPC may then return the determined location of the mobile station to the location server, and the location server may then return to the LBS application the determined location or data derived from the determined location (such as mapping, routing, or street address information).
A location request to the MPC may seek either a general or a specific indication of the mobile station's location. A general indication of the mobile station's location may be an indication of the location of the cell/sector in which the mobile station is currently operating, such as the geographic location of a centroid of the cell/sector. A specific indication of the mobile station's location, on the other hand, could be a more precise indication of the geographic position of the mobile station itself.
To learn the cell/sector that is currently serving a mobile station, the MPC may send a “low-accuracy” location request to the RAN that is currently serving the mobile station, and the RAN may respond with an indication of the cell/sector in which the mobile station is currently operating. To learn a more specific geographic position of the mobile station, on the other hand, the MPC may send a “high-accuracy” location request to the PDE, and the PDE may then send one or more high accuracy location requests to the serving RAN and receive high accuracy positioning data—such as positioning information that the mobile station receives from one or more satellites—in response from the RAN. The PDE may then use that high accuracy positioning data, typically in combination with the cell/sector centroid determined by the MPC, to identify the mobile station's geographic position. Throughout this specification, the terms “position” and “location” are used interchangeably.
Today, two disparate mechanisms are known for providing communication between a positioning system and a mobile station: (i) “control plane” signaling and (ii) “user plane” signaling. Control plane signaling is the traditional mechanism for communicating position-related data between a positioning system and a mobile station via a switch such as an MSC. User plane signaling has been developed more recently to provide a more streamlined form of communication between a positioning system and a mobile station using 2-way Short Messaging Service (SMS) signaling and/or through IP communication, so that mobile station can pass any desired location data directly to the positioning system without using a switch. Examples are described herein in the context of the control plane, but the invention could just as easily be practiced using the user plane.
In a typical arrangement, the location requests from the MPC/PDE to the RAN will go from the MPC/PDE over a signaling network (e.g., a Signaling System #7 (SS7) network) 34 to the MSC of the RAN. In order to send such a request, the MPC may query a home location register (HLR) 36, also via the signaling network, to determine the point code subsystem number (PC_SSN) of the MSC currently serving the mobile station. For instance, the MPC may send an IS-41 “Location Request” (LOCREQ) message to the HLR, or an IS-637 “SMS Request” (SMSREQ) message to the HLR, also providing the HLR with an identifier of the mobile station, and the HLR would respond (in a LOCREQ return result (locreq_rr) or SMSREQ return result (smsreq_rr)) with the PC_SSN of the currently serving MSC (or a last known serving MSC). The query to the HLR could carry a mobile station identifier (such as a mobile directory number (MDN)) as indicated in the initial location request to the MPC.
Industry standard 3GPP2 X.P0002/TIA PN-4747 (IS-881), in turn, defines many of the location request messages that pass between the MPC, PDE and MSC. For instance, a low-accuracy location request from the MPC to the MSC may take the form of an IS-881 “Inter-System Position Request” (ISPOSREQ) message, and a response to that message may take the form of an IS-881 ISPOSREQ return result (isposreq_rr) message. A high-accuracy location request from the MPC to the PDE may take the form of an IS-881 “Geo Position Request” (GPOSREQ) message, and a response to that message may take the form of an IS-881 GPOSREQ return result (gposreq_rr) message. Normally, a GPOSREQ inhabits the control plane, but the user plane supports an analogous GPOSREQ message that differs from the control plane counterpart only in the transmission media and likely transmission speed. These user plane analogues can be referred to as GPOSREQ′ messages—having corresponding return result gposreq_rr′ messages. Throughout this specification, the terms “GPOSREQ” and “gposreq_rr” refer collectively to both control plane GPOSREQ messages and user plane GPOSREQ′ messages. Additionally, a high-accuracy location request from the PDE to the MSC may take the form of an IS-881 “Short Message Delivery Point to Point” (SMDPP) message, and a response to that message may take the form of an IS-881 SMDPP return result (smdpp_rr) message.
Further, industry standard IS-801 defines position-determination messages that can pass over an air interface between an MSC and a mobile station for the purposes of requesting and receiving high-accuracy location data. For instance, the MSC can send an IS-801 position determination request (PD Request) message over the air to a mobile station, to request that the mobile station provide satellite-based positioning information, and the mobile station can respond with an IS-801 position determination response (PD Response) message over the air to the MSC, providing the requested satellite-based positioning information.
In operation, when the MPC receives a request for a general indication of a mobile station's location, the MPC would first identify the MSC serving the mobile station and would then send an ISPOSREQ message to the MSC, seeking an indication of the cell/sector in which the mobile station is currently operating. If the MSC has the requested cell/sector information, the MSC may then provide an indication of the cell/sector in an isposreq_rr message to the MPC. Otherwise, the MSC may page the mobile station over the air interface so as to receive in a page response from the mobile station an indication of the cell/sector, and the MSC may then send an indication of the cell/sector in an isposreq_rr to the MPC. Once the MPC learns the cell/sector in which the mobile station is currently operating, the MPC may determine (e.g., look up) the geographic centroid of the cell/sector. The MPC may then report that centroid in a response to the location request.
On the other hand, when the MPC receives a request for a specific indication of a mobile station's location, the MPC may invoke the PDE to determine the location. More particularly, the MPC may first identify the MSC serving the mobile station and may send an ISPOSREQ to the MSC to determine the cell/sector in which the mobile station is currently operating, and the MPC may determine the centroid of that cell/sector. The MPC may then send a GPOSREQ to the PDE, providing the PDE with (i) an identifier of the mobile station, (ii) an identifier of the serving MSC, and (iii) the determined cell/sector centroid.
Upon receipt of the GPOSREQ, the PDE may then use the cell/sector identity to determine (e.g., look up) what satellite(s) the mobile station can use to obtain satellite-based positioning information. The PDE may then send an SMDPP message to the MSC, specifying one or more satellites that the mobile station should use to obtain satellite-based positioning information. In response to the SMDPP message, the MSC may then send an IS-801 PD Request message over the air to the mobile station, indicating the satellite(s) from which the mobile station should get positioning information.
(Normally, the MSC will send the IS-801 PD Request over an air interface traffic channel to the mobile station. Thus, if the mobile station is currently engaged in a communication session and thus already has an assigned traffic channel, the MSC may send the PD request over that traffic channel. On the other hand, if the mobile station is idle or dormant and therefore does not have a traffic channel, the MSC may direct the serving BSC to assign a traffic channel to the mobile station, and the MSC may send the PD request over that traffic channel. In a preferred embodiment, the ISPOSREQ that the MPC sends to the MSC in a high-accuracy location determination scenario would include a code that puts the MSC on notice that the MSC will soon receive a high-accuracy location request, so that the MSC can assign the traffic channel in advance if desired.)
In turn, the mobile station would look to the designated satellite(s) to obtain the requested satellite-based positioning information and would provide that information in an IS-801 PD Response message over the air to the MSC. Upon receipt of the PD Response message, the MSC would then generate and send an smdpp_rr to the PDE, providing the PDE with the requested satellite-based positioning information.
If the PDE thereby receives from the mobile station the requested satellite-based positioning information from at least three of the designated satellites, the PDE may then use that information to determine, with a fairly high degree of accuracy, the position of the mobile station using well known “Assisted GPS” (AGPS) computation. On the other hand, if the PDE does not receive at least three satellites-worth of positioning information from the mobile station, then the PDE may ask the mobile station for information from still other satellites. Ultimately, once the PDE receives sufficient satellite-based positioning information from the mobile station, the PDE may determine the mobile station's location and then respond to the MPC with a gposreq_rr, providing the MPC with the determined location. In turn, the MPC may then report that location in a response to the location request that it received.
In some instances, it may happen that the PDE is unable to obtain the necessary satellite-based positioning information from the mobile station to facilitate determination of the mobile station's location using AGPS. When that happens, the PDE may then resort to determining the mobile station's location by one or more other well-known mechanisms. For instance, the PDE may next try to determine the mobile station's location using a hybrid satellite-network fix (e.g., computing location based on some satellite-based positioning information and some base station almanac data, such as serving-one-way-delay data). As another example—perhaps if the hybrid satellite-network fix fails as well—the PDE may next try to determine the mobile station's location using mixed cell advanced forward link trilateration (AFLT) (perhaps using base station almanac data for at least three base stations in communication with the mobile station). As yet another example (perhaps if the AFLT fix fails as well), the PDE may next determine location as the mere cell/sector location.
Understandably, some of these fallback location-determination mechanisms would not provide location with the high level of granularity desired, but they are likely to provide at least some location fix, which may be better than providing no location fix at all. Thus, once the PDE determines the location of the mobile station by one of these fallback mechanisms, the PDE would similarly return that determined location to the MPC in a gposreq_rr message, and the MPC may then report that location in a response to the location request that it received.
In many cases, the PDE will apply a fixed internal timer that indicates a maximum amount of time that the PDE should take to respond to a GPOSREQ from the MPC. If the PDE determines the location of the mobile station within that maximum allowed time, the PDE will then return that determined location to the MPC in a gposreq_rr. On the other hand, if the PDE does not successfully determine the location of the mobile station within the maximum allowed time, then, when the timer expires, the PDE may return an error to the MPC, indicating that the PDE has not determined the mobile station location. For instance, if the PDE first fails with AGPS to determine the mobile station and then proceeds to attempt a hybrid satellite-network fix but the timer expires during that attempt, then the PDE may return an error in a gposreq_rr to the MPC. If the MPC receives such an error response from the PDE, the MPC may then default to returning in its response to the requesting LBS application the mere cell/sector centroid (or a representation of the cell/sector centroid), or a corresponding error message.